package br.com.uniban.dao.impl;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.NoResultException;

import org.jboss.ejb3.annotation.RemoteBinding;

import br.com.uniban.dao.AdministradorRemote;
import br.com.uniban.entity.Administrador;

@Stateless
@RemoteBinding(jndiBinding = AdministradorRemote.JNDI)
public class AdministradorDAO extends DAOGenericImpl<Administrador, Long>
		implements AdministradorRemote {

	private static final String LISTA_ADMINISTRADO = "Administrador.all";
	private static final String LOGAR = "Administrador.logar";
	private static final String LOGIN = "login";
	private static final String SENHA = "senha";

	public AdministradorDAO() {
		super(Administrador.class);
	}

	@Override
	public List<Administrador> listaAdministrador() {

		return (List<Administrador>) this.getEntityManager()
				.createNamedQuery(LISTA_ADMINISTRADO).getResultList();
	}

	@Override
	public Administrador logar(Administrador admin) {
		String login = admin.getLogin();
		String senha = admin.getSenha();
		try {

			return (Administrador) this.getEntityManager().createNamedQuery(LOGAR)
					.setParameter(LOGIN, login)
					.setParameter(SENHA, senha).getSingleResult();

		} catch (NoResultException e) {
			return null;
		}
	}

}
